﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using NUnit.Framework;
using CondominioWeb.Persistencia.NHibernate;
using CondominioWeb.Dominio;

namespace CondominioWeb.Pruebas
{
    [TestFixture]
    public class TestArea_ComunDAO
    {
        private Area_ComunDAO area_ComunDAO = new Area_ComunDAO();

        [Test]
        public void TestCrear()
        {
            Zona ozona = new Zona();
            ozona.Codigo_Zona = 2;

            Tipo_Area_Comun otipo_Area_Comun = new Tipo_Area_Comun();            
            otipo_Area_Comun.Codigo_Area_Comun = 2;

            // 1. Instanciando el objeto TO
            Area_Comun nuevoArea_Comun = new Area_Comun();
            nuevoArea_Comun.Codigo_Area_Comun = 2;
            nuevoArea_Comun.oZona=  ozona;
            nuevoArea_Comun.oTipo_Area_Comun = otipo_Area_Comun;
            nuevoArea_Comun.Capacidad = 10;            
            nuevoArea_Comun.Estado = "activo";
            // 2. Llamada al método del DAO a probar
            Area_Comun Area_ComunCreado = area_ComunDAO.Crear(nuevoArea_Comun);
            // 4. Implementar las validaciones
            Assert.NotNull(Area_ComunCreado);
            Assert.AreEqual(nuevoArea_Comun.Codigo_Area_Comun, Area_ComunCreado.Codigo_Area_Comun);

            
        }
        [Test]
        public void TestObtener()
        {
            int _cod_Area_Comun;
            // 1. Instanciando el objeto TO
           // Area_Comun Area_ComunConsulta = new Area_Comun();
            // 2. Llamada al método del DAO a probar
            _cod_Area_Comun = 11;
            Area_Comun Area_ComunConsulta = area_ComunDAO.Obtener(_cod_Area_Comun);
            // 4. Implementar las validaciones
            Assert.NotNull(Area_ComunConsulta);

        }

        [Test]
        public void TestModificar()
        {
            Zona ozona = new Zona();
            ozona.Codigo_Zona = 1;

            Tipo_Area_Comun otipo_Area_Comun = new Tipo_Area_Comun();
            otipo_Area_Comun.Codigo_Area_Comun = 1;

            // 1. Instanciando el objeto TO
            Area_Comun nuevoArea_Comun = new Area_Comun();
            nuevoArea_Comun.Codigo_Area_Comun = 2;
            nuevoArea_Comun.oZona = ozona;
            nuevoArea_Comun.oTipo_Area_Comun = otipo_Area_Comun;
            nuevoArea_Comun.Capacidad = 100;
            nuevoArea_Comun.Estado = "activo";
            // 2. Llamada al método del DAO a probar
            Area_Comun Area_ComunCreado = area_ComunDAO.Modificar(nuevoArea_Comun);
            // 4. Implementar las validaciones
            Assert.NotNull(Area_ComunCreado);
            Assert.AreEqual(nuevoArea_Comun.Codigo_Area_Comun, Area_ComunCreado.Codigo_Area_Comun);
        }

        [Test]
        public void TestEliminar()
        {
            // 1. Instanciando el objeto TO
            Area_Comun nuevoArea_Comun = new Area_Comun();
            nuevoArea_Comun.Codigo_Area_Comun = 2;
            // 2. Llamada al método del DAO a probar
            area_ComunDAO.Eliminar(nuevoArea_Comun);
            // 4. Implementar las validaciones
            //Assert.NotNull(Area_ComunCreado);
            //Assert.AreEqual(nuevoArea_Comun.Codigo_Area_Comun, Area_ComunCreado.Codigo_Area_Comun);
        }

    }
}